草庐IT

Java ForkJoinPool - 队列中的任务顺序

全部标签

ruby - Resque:每个队列一个 worker

我目前有一个Rails3.0项目,使用Ruby1.9.2和Resque。我的应用程序有多个工作类和多个队列,它们是动态创建的(在运行时)。此外,有多个worker已启动,可以自由地在任何队列上工作,因为在启动时没有任何现有队列,并且无法预测它们:$COUNT=3QUEUE=*rakeresque:workers根据project的id创建队列:@queue="project_#{project.id}".to_sym对于给定的队列,他们的作业必须按顺序处理,一次处理一个。我的问题是,通过拥有多个工作人员,可以并行处理多个作业。有没有办法设置每个队列的最大worker数(为1)?有没有办

ruby - Amazon SQS 优先级队列

是否可以使用Amazon简单排队服务创建优先级队列?最初我找不到关于这个主题的任何内容,这就是我创建两个队列的原因。一个普通队列和一个优先队列。我正在根据我定义的规则将消息排入此队列,但在出列消息时会出现困惑。如何对队列进行长时间轮询,使我的队列组合表现得像一个优先级队列? 最佳答案 我认为您通过创建两个队列走在正确的轨道上-一个普通队列和一个优先级队列。在这种情况下,您不一定需要长时间轮询。由于优先队列中的消息优先于普通队列中的消息,您可以采用如下方法:轮询优先级队列,直到没有更多消息为止。轮询普通队列并在普通队列中的每条消息后重

ruby-on-rails - 使用 Ruby On Rails 在 Heroku 上运行长任务的最佳方法是什么?

我正在寻找在Heroku中运行超长任务的最佳方法。我将RubyOnRails用于我的Web应用程序,我有一个很长的任务,我想在每周日的晚上运行它。大约需要15~20分钟。我已经有Rufus-Scheduler,但我不确定这是最有效的解决方案。我还找到了关于BackgroundingTasksinHeroku的信息与DelayedJob.但这是处理它的最佳方式吗?谢谢。 最佳答案 这是我每晚运行的工作所使用的:https://devcenter.heroku.com/articles/scheduler如果您的作业配置为rake任务,

ruby-on-rails - 使用 whenever gem 安排顺序任务

我正在使用whenever为Rails应用程序安排任务。我有这样的任务:every24.hoursdocommand"do_this"rake"do_that"end我的观点是,当我将它写入我的crontab时,只要使用-w,我就会看到它生成两个同时运行的独立任务。问题是,两者在逻辑上都是一个序列,这意味着rake任务“do_that”应该在命令“do_this”已经成功运行时运行。我试图像命令“do_this”&&rake“do_that”一样联系两者,但我收到了语法错误。是否存在任何技巧可以在任何时候创建任务之间的这种依赖关系?crontab是同时、并行地执行作业,还是处理队列中同

ruby-on-rails - 来自 Crontab 的 Rake 任务?

堆栈:Apache2rails2.3.8红帽Linuxruby企业版1.8.7在我的应用程序用户的crontab中获得了以下rake任务,这意味着每15分钟将记录拉入数据库表中:*/15****app_usercd/var/www/apps/my_app/current/&&rakething:do_stuffRAILS_ENV=production我可以在cron日志中看到cron守护进程正在运行这个任务,但是它应该将记录拉入的数据库表没有改变。当我在/var/www/apps/my_app/current目录中手动运行该任务时,该任务运行正常,没有出现错误,并按照我的预期将记录拉入

ruby-on-rails - 使用 rvm 在 rails 3 中进行 rake 任务和 cron

我正在尝试在Rails3.0.9(使用RVM)中使用crontab运行Rake任务,但它不起作用。但是当我在控制台中运行时它工作正常我的佣金任务namespace:alertdodesc"createsomeremindernotification"task:send_reminder=>:environmentdop"mytaskgoeshere----"endend我的定时任务*/1****cd/home/anu-karthik/Documents/billguru/&&/home/anu-karthik/.rvm/gems/ruby-1.9.2-p0/bin/rakealert:

ruby - 如何增加散列中未初始化键的值?

如果我尝试增加哈希中尚不存在的键的值,就像这样h=Hash.newh[:ferrets]+=1我收到以下错误:NoMethodError:undefinedmethod`+'fornil:NilClass这对我来说很有意义,而且我知道这一定是一个非常简单的问题,但我在SO上找不到它。如果我什至事先不知道我将拥有哪些key,我该如何添加和递增此类key? 最佳答案 可以在构造函数中设置hash的默认值h=Hash.new(0)h[:ferrets]+=1ph[:ferrets]请注意,设置默认值有一些缺陷,因此您必须谨慎使用。h=Ha

ruby - ruby 中的 .each 迭代器是否保证每次都对相同的元素给出相同的顺序?

我正在用列表“a”做这样的事情:a.each_with_index|outer,i|a.each_with_index|inner,j|if(j>i)#dosomeoperationwithouterandinnerendendend如果迭代器不打算使用相同的顺序,这将不起作用。我不关心实际顺序是什么,我只需要两个.each_with_index迭代器使用相同的顺序。我假设它是一个数组的一个属性,它有一个固定的顺序,我只是偏执地认为迭代器不会使用那个顺序...... 最佳答案 这取决于您正在操作的特定Enumerable对象。例如,

ruby-on-rails - 如何让自定义 Rake 任务在 Sinatra 中运行?

*我想在我的Sinatra应用程序中运行一个自定义Rake任务,但我总是rake中止!不知道如何构建任务“问候”。这是用于测试目的的自定义Rake任务(greet.rake):task:greetdoputs"Hello!"end我已将greet.rake放在./lib/tasks(Rails)中。我猜Rake找不到文件的正确目录。如何让自定义Rake任务在Sinatra中运行?我正在使用Ruby2.0.0和Sinatra1.4.4。更新Rakefile现在看起来像这样:require"./app"require"sinatra/activerecord/rake"require"./

ruby - AMQP 动态创建订阅队列

我正在尝试使用AMQP、Websockets和Ruby构建一个简单的聊天应用程序。我知道这可能不是理解AMQP的最佳用例,但我想了解我哪里出错了。以下是我的amqp-server代码require'rubygems'require'amqp'require'mongo'require'em-websocket'require'json'classMessageParser#messageformat=>"room:harry_potter,nickname:siddharth,room:members"defself.parse(message)parsed_message=JSON.